import router from './router'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import store from './store'
NProgress.configure({
	easing: 'ease', // 动画方式    
	speed: 300, // 递增进度条的速度    
	showSpinner: false, // 是否显示加载ico    
	trickleSpeed: 300, // 自动递增间隔    
	minimum: 0.3 // 初始化时的最小百分比
})

router.beforeEach((to, from, next) => {
	// 每次切换页面时，调用进度条
	NProgress.start()
	NProgress.inc() //这会以随机数量递增，且永远达不到100%，也可以设指定增量
	let routerPath = {
		'/login': '/login',
		'/signin': '/signin',
		'/signins': '/signins',
		'/forgetthepassword': '/forgetthepassword',
		'/forgetthepasswords': '/forgetthepasswords',
		'/compatibility': '/compatibility'
	}
	let lanjie ={
		'/IntelligentEquipment/working/design': '/IntelligentEquipment/working/design',
	}
	// 判断是否试用
	if(lanjie[to.path]){
		let probation = JSON.parse(sessionStorage.getItem('probation')) 
		probation.forEach(item => {
			if(item.probation == '1'){
				return next()
			}else{
				if(item.menuName == '智能装备'){
					console.log('试用');
					return next('/IntelligentEquipmenTry')
				}
			}
		});
	}
	if (routerPath[to.path]) {
		// 登陆/注册/忘记密码直接跳转到页面
		return next()
	}
	// 判断vuex是否有用户token,若没有,则跳转到login页面
	if (store.state.user.token) {
		return next()
	} else {
		return next(`/login?t=${new Date().getTime()}`)
	}
	// 若加载时间长且不定，担心进度条走完都没有加载完，可以调用
	// next()
});
router.afterEach(() => {
	// 在即将进入新的页面组件前，关闭掉进度条
	NProgress.done()
})
